/**
 * 普通业务模块示例
 */
define(['Util',
        '../common/getMenu',
        'list',
        'cookie',
        'clipboard',
        'radios',
        'form',
        'validator',
        'text!tpl/myProject/myProject.tpl',
        'dialog',
        'select',
        'tab',
        'loading',
        '../common/getPath',
        'date',
        '../common/dateFormat'  
    ],
    function(Util, getMenu, List, $cookie, Clipboard, Radios, Form, Validator, tpl, Dialog, Select, Tab, Loading, AjaxPath, MyDate) {
        require(['style!css/style.css']);

        var $el = null;

        var _indexModule = null,
            tplId = null,
            tab = null,
            handLoading = null,
            loadingConfig = null,
            dialog = null,
            clearTime = null,
            radios = null,
            myNewCodeValidor = null,
            myNewBranchValidor = null,
            myGitLabValidor = null,
            codeList = null,
            clipboard = null,
            codeAuthority = null,
            smDialog = null,
            myOptions = null,
            myForkValidor = null;
        var initialize = function(indexModule, options, tabItem) {
            $el = $(tpl);
            _indexModule = indexModule;

            // 事件--点击切换tab后事件回调
            $(tabItem).on("tabActive", function() {
                tabItem.show(true); // 刷新表单
            });

            tab = tabItem;
            myOptions = options;
            createLoading();
            tplId = options.menuId;
            //页面初始化代码库
            // initCodes();
            // 业务相关代码
            eventInit();
            this.content = $el;
            myCodesInit();
            // getCodeAuthority($el);
            getMenu(tab, options.menuId);
        };

        var eventInit = function (){

            $el.on('mouseenter', '.viewMyProjectTip img', viewMyProjectTipOver);//感叹号复制移入
            $el.on('mouseleave', '.viewMyProjectTip img', viewMyProjectTipOut);//感叹号复制移出
            $el.on('click', '#btnAddMyCode', gitLabValidator);//新建代码库函数 createCode();
            $el.on('click', '#relationReq', relationReq);//关联工作项
            $(document).off('click', '#myCodebtnExpChecked', codeBtnExp);
            $(document).on('click', '#myCodebtnExpChecked', codeBtnExp);
            $(document).off('click', '#myCodebtnExp', codeBtnExp);
            $(document).on('click', '#myCodebtnExp', codeBtnExp);
            // $el.on('click', '.createBranch', createNewBranch);//记着删了这条
            // $el.on('click', '.createBranch', gitLabValidator);
            $el.on('click', '.gitLabVals', gitLabValidator);
            
            $('#tabList li.' + tplId).on('click', tabActive);
            
            $(document).off('click', '.viewReq', createDialogViewRequirement);
            $(document).on('click', '.viewReq', createDialogViewRequirement);
        }

        var tabActive = function() {
            myCodesInit();
            getMenu(tab, tplId);   
        }
        var createLoading = function() {
            loadingConfig = {
                el: 'body', //组件要绑定的容器，默认为body（此项可不配置或留空）
                className: 'loading', //组件外围的className
                position: 'center', //提示信息位置，顶部top|默认center中央
                width: '300', //loading的宽度,非必须，默认300
                height: 'auto', //loading的宽度,非必须，默认auto
                mask: 1, //是否显示遮罩， 0不显示|默认1显示
                animate: 1, //是否显示动画效果， 0不显示|默认1显示
                mode: 'layer', //展示方式 loadingLine线条方式|默认layer弹层方式
                text: '加载中...', //提示文字，默认 加载中...
                icon: 'dotCycle', //文字前面的gif动画， 默认dotCycle有点组成的圈|cmcc移动图标|cmccLarge大的移动图标
            }
        }
        //生成代码库
        var myCodesInit = function(){
            require(['text!tpl/myProject/formCode.tpl'], function(formCodeTpl){
                var a = null;
                Util.ajax.getJson( AjaxPath.cicd + "/codes/group/codeLibrary/"+$cookie.get("projectTagName")+"/"+$cookie.get("userId"), {}, function(result, isok){
                // Util.ajax.getJson( AjaxPath.cicd + "/codes/group/codeLibrary/abc/7", {}, function(result, isok){
                    if(result.beans !== null || result.beans !== undefined){
                        $(".myProjectContainer .t-list .codeHtml", $el).html( Util.hdb.compile(formCodeTpl)(result) );
                        for(var i=0;i<result.beans.length;i++){
                            a = new Select({
                                el:$("#dropS"+result.beans[i].id, $el),       //要绑定的容器
                                ajax:{    //所有jquery.ajax的配置项均可配置，这些配置将替换底层组件的配置，<span class="s">慎用</span>
                                    method:'GET'
                                }, 
                                // label:'添加到:', //下拉框单元左侧label文本，可不配置
                                selectText:false,       //是否显示  ‘选择|清除’  模式
                                name:'addTo',    //下拉框单元右侧下拉框名称
                                disabled:false,     //组件是否被禁用
                                topOption:"请选择", //设置最顶部option的text属性
                                value:'',//初始选中项设置 默认是按value，如果你想按id设置 也可以 value:[&quot;id&quot;,1],这样设置
                                textField:"key",   //设置下拉框内容，填写数据中对应的字段名
                                valueField:"key",//设置下拉框value，填写数据中对应的字段名
                                datas: result.beans[i].urls,         //数据源
                                loadAtClick:false,// true--第一次点击时渲染|false或不配置--初始化时渲染
                            })
                            a.on("change", function(e,valueObj){
                                $("input[name='dropS"+valueObj.description+"']", $el).val(valueObj.value);
                            });
                            a.setValue("HTTP");
                            copyCodes(result.beans[i].id);  
                        }
                    } else {
                        smDialog = new Dialog({
                            mode: 'confirm', // 对话框模式，默认normal标准|confirm浮动层|confirm确认对话框
                            title:'提示',
                            width: 300, //对话框宽度，可选项。normal默认值为600，confirm默认值为300，tips默认值为240
                            height: 120, //对话框高度，可选项。normal默认值为400，confirm默认值为180，tips默认值为80
                            cancelDisplay: false, //是否显示取消按钮（强制执行，可在confirm模式下生效），可选项。 默认true(显示)
                            modal:true,
                            content: '<div style="text-align:center;margin-top:50px">'+result.returnMessage+'</div>' ,// 对话框内容，可以是字符串、html片段、或dom对象,默认为loading状态（点组成的圈）
                        });
                    }
                });
            });
        }
        //复制剪切板功能
        var copyCodes = function (id) {
            clipboard = new Clipboard('#ddrops'+id, {
                text: function() {
                    var s = $("input[name='dropS"+id+"']", $el).val();
                    return s;
                }
            });
            clipboard.on('success', function(e) {
                // clipboard.destroy();
                    copyCodes();
                var config = {
                    mode: 'tips',
                    delayRmove:1,//延迟删除秒数设定 tips默认3秒,非tips默认不关闭。
                    tipsType:'success', //tips类型；可选 success | error，默认普通tips。
                    maxWidth:'226px', //设置tips弹窗的最大宽度,默认为226px。仅在tips弹窗下生效，该项存在时，width属性将失效。
                    content: '复制成功',
                    skin: 'dialogSkin dialogSkin2'
                };
                var dialog = new Dialog(config);
            });
                
            clipboard.on('error', function(e) {
                console.log(e);
            });
        };
        //验证是否登录过gitlab账户
        var gitLabValidator = function(e){
            var userId = $cookie.get("userId");
            var _data = $(this).attr("data");
            var _dataSpaceId = $(this).attr("dataSpaceId");
            if(sessionStorage.getItem("gitlabVal") !== "true"){
                Util.ajax.getJson( AjaxPath.cicd + "/codes/userLogin/"+userId, {}, function(result, isok){
                // Util.ajax.getJson( AjaxPath.cicd + "/codes/userLogin/"+7, {}, function(result, isok){
                    if(result.returnCode === "6000" || result.returnCode === "6001"){
                        sessionStorage.setItem("gitlabVal", false);
                        require(['text!tpl/myProject/gitLabVal.tpl'], function(gitLabValTpl){
                            var config = {
                                mode: 'confirm', //对话框模式，默认normal标准|tips浮动层|confirm确认对话框
                                title: '请输入gitlab登录信息', //对话框标题，
                                content: Util.hdb.compile(gitLabValTpl)(), //对话框内容，可以是字符串、html代码段,tpl对象。默认为loading状态（由点组成的圈。大段代码建议使用 tpl。
                                ok: function() {
                                    var data = Form.serialize($('.myGitLabForm'));
                                    data.createPerson = $cookie.get("userId");
                                    // data.createPerson = 9;
                                    // data.gitAccount = "xingc";
                                    // data.gitPassword = "abcd!@#$";
                                    if(myGitLabValidor.form()){
                                        Util.ajax.postJson( AjaxPath.cicd + "/codes/gitUsers", JSON.stringify(data), function(result, isok){
                                            if(result.returnCode === "0000"){
                                                dialog.remove();
                                                myCodesInit();
                                                config = {
                                                    mode: 'confirm', // 对话框模式，默认normal标准|confirm浮动层|confirm确认对话框
                                                    title:'提示',
                                                    width: 300, //对话框宽度，可选项。normal默认值为600，confirm默认值为300，tips默认值为240
                                                    height: 120, //对话框高度，可选项。normal默认值为400，confirm默认值为180，tips默认值为80
                                                    cancelDisplay: false, //是否显示取消按钮（强制执行，可在confirm模式下生效），可选项。 默认true(显示)
                                                    modal:true,
                                                    content: '<div style="text-align:center;margin-top:50px">'+result.returnMessage+'</div>' ,// 对话框内容，可以是字符串、html片段、或dom对象,默认为loading状态（点组成的圈）
                                                };
                                                dialog = new Dialog(config);
                                            } else {
                                                config = {
                                                    mode: 'confirm', // 对话框模式，默认normal标准|confirm浮动层|confirm确认对话框
                                                    title:'提示',
                                                    width: 300, //对话框宽度，可选项。normal默认值为600，confirm默认值为300，tips默认值为240
                                                    height: 120, //对话框高度，可选项。normal默认值为400，confirm默认值为180，tips默认值为80
                                                    cancelDisplay: false, //是否显示取消按钮（强制执行，可在confirm模式下生效），可选项。 默认true(显示)
                                                    modal:true,
                                                    content: '<div style="text-align:center;margin-top:50px">'+result.returnMessage+'</div>' ,// 对话框内容，可以是字符串、html片段、或dom对象,默认为loading状态（点组成的圈）
                                                };
                                                dialog = new Dialog(config);
                                            }
                                        }, "application/json");
                                    }
                                    return false;
                                }, 
                                cancel: function() {
                                    return true;
                                },
                                cancelValue: '返回', //取消按钮的文本 默认是 ‘关闭’
                                okValue: '登录gitlab', //取消按钮的文本 默认是 ‘关闭’
                                cancelDisplay: true, //是否显示取消按钮 默认true显示|false不显示
                                width: 700, //对话框宽度，normal默认值为600，confirm默认值为300，tips默认值为240
                                height: 170, //对话框高度，normal默认值为400，confirm默认值为180，tips默认值为80
                                maxWidth: 240,//设置tips对话框的最大宽度,默认为240px。仅在tips对话框下生效，该项存在时，width属性将失效。
                                maxHeight: 'auto', //设置tips对话框的最大高度,默认为auto。仅在tips对话框下生效，该项存在时，height属性将失效。
                                padding:'0 16px 1em 10px',//(默认值: 继承 css 文件设置) 设置消息内容与消息容器的填充边距，即 style padding属性
                                align: 'bottom left',//设置对话框与其他元素的对齐方式。仅在show(elem)与showModal(elem)传入元素时生效。默认值: "bottom left"。可选："top left" "top" "top right" "right top" "right" "right bottom" "bottom right" "bottom" "bottom left" "left bottom" "left" "left top"。
                                skin: 'dialogSkin dialogSkin2',//设置对话框额外的className参数,多个className请使用空格隔开。
                                fixed: false, //是否开启固定定位 默认false不开启|true开启
                                quickClose: false, //点击空白处快速关闭 默认false不关闭|true关闭
                                modal: true ,//是否开启模态框状态  默认false不开启|true开启,confirm默认状态为true
                                backdropBackground:'#000',//设置遮罩颜色，默认 #000。
                                backdropOpacity:0.7, //设置遮罩透明度，默认 0.7，取值范围：0~1 。
                                beforeOpen: function() {          
                                }, //对话框打开之前执行。
                                escClose:true,//esc键快速关闭对话框，默认为true
                                zIndex:990   // 对话框的z-index值，默认是1024。
                            };
                            dialog = new Dialog(config);
                            myGitLabValidator();
                            $("input[type='text']").on("keypress",function(e){
                                if(e.keyCode === 13){
                                    e.preventDefault();
                                }
                            });
                        });
                    } else if(result.returnCode === "0000"){
                        sessionStorage.setItem("gitlabVal", true);
                        // console.log(e)
                        if(e.currentTarget.id === "btnAddMyCode"){
                            createCode(_data);
                        } else if(e.currentTarget.className === "t-btn t-btn-blue ml-10 gitLabVals createBranch"){
                            createNewBranch(_data, _dataSpaceId);
                        } else if(e.currentTarget.className === "t-btn t-btn-blue gitLabVals forkCode"){
                            forkCodeBtn(_data, _dataSpaceId); 
                        } else if(e.currentTarget.className === "t-btn t-btn-blue gitLabVals delCode"){
                            delDialogBox(_data, _dataSpaceId);
                        }
                    } else {
                        new Dialog({
                            mode: 'confirm', //对话框模式，默认normal标准|tips浮动层|tips确认对话框
                            title: '提示', //对话框标题
                            width: 300,
                            height: 120,
                            modal: true,
                            content: '<div style="text-align:center;margin-top:50px">'+result.returnMessage+'</div>', //对话框内容，可以是字符串、html片段、或dom对象,默认为loading状态（点组成的圈）
                            cancelDisplay: false,
                            ok: function() {}, // 配置该项时才会出现ok按钮，回调函数可为空。如果指定 return false 则执行完方法后不关闭对话框。默认 return true
                            okValue: '关闭' //确定按钮的文本 默认是 ‘ok’
                        });
                    }
                });
            } else{
                if(e.currentTarget.id === "btnAddMyCode"){
                    createCode(_data);
                } else if(e.currentTarget.className === "t-btn t-btn-blue ml-10 gitLabVals createBranch"){
                    createNewBranch(_data, _dataSpaceId);
                } else if(e.currentTarget.className === "t-btn t-btn-blue gitLabVals forkCode"){
                    forkCodeBtn(_data, _dataSpaceId);
                } else if(e.currentTarget.className === "t-btn t-btn-blue gitLabVals delCode"){
                    delDialogBox(_data, _dataSpaceId);
                }
            }
        }
        var myGitLabValidator = function(){
            var config = {
                // el: $('.validatorForm'),
                el: $(".myGitLabForm"),
                // submitBtn: $(".btnSave"), //触发验证的按钮，可不配置
                dialog: true, //是否弹出验证结果对话框
                rules: {
                     gitAccount: 'required',
                     gitPassword: 'required'
                },
                messages: {
                    gitAccount: {
                        required: "Gitlab用户名不能为空！"
                    },
                    gitPassword: {
                        required: "密码不能为空！"
                    }
                }    
            };  
            myGitLabValidor = new Validator(config);
        }
        /*感叹号复制移入*/
        var viewMyProjectTipOver = function (e) {
            var e = e || window.event;
            e.stopPropagation();
            $('.copy_show').stop();
            $('.copy_show').fadeIn("slow");
        };
        /*感叹号复制移出*/
        var viewMyProjectTipOut = function () {
            $('.copy_show').stop();
            $('.copy_show').fadeOut("slow");
        };
        //新建代码库弹窗
        var createCode = function(){
            require(['text!tpl/myProject/newCode.tpl'], function(newCodeTpl){
                var config = {
                    mode: 'confirm', //对话框模式，默认normal标准|tips浮动层|confirm确认对话框
                    title: '新建代码库', //对话框标题，
                    content: Util.hdb.compile(newCodeTpl)(), //对话框内容，可以是字符串、html代码段,tpl对象。默认为loading状态（由点组成的圈。大段代码建议使用 tpl。
                    ok: function() {
                        var data = Form.serialize($('.myNewCodeForm'));
                        data.description = $("<span/>").text(data.description.trim()).html();
                        // data.publicJobs = radios.get();
                        data.publicJobs = "0";
                        data.creatorId = $cookie.get("userId");
                        data.namespaceName = $cookie.get("projectTagName");
                        // data.creatorId = 7;
                        // data.namespaceName = "ljg";
                        console.log(data)
                        if(myNewCodeValidor.form()){
                            handLoading = new Loading(loadingConfig);
                            Util.ajax.postJson( AjaxPath.cicd + "/codes/codeLibrary", data, function(result, isok){
                                if(result.returnCode==="0000") {
                                    handLoading.destroy();
                                    dialog.remove();
                                    config = {
                                        mode: 'confirm', // 对话框模式，默认normal标准|confirm浮动层|confirm确认对话框
                                        title:'提示',
                                        width: 300, //对话框宽度，可选项。normal默认值为600，confirm默认值为300，tips默认值为240
                                        height: 120, //对话框高度，可选项。normal默认值为400，confirm默认值为180，tips默认值为80
                                        cancelDisplay: false, //是否显示取消按钮（强制执行，可在confirm模式下生效），可选项。 默认true(显示)
                                        modal:true,
                                        content: '<div style="text-align:center;margin-top:50px">'+result.returnMessage+'</div>' ,// 对话框内容，可以是字符串、html片段、或dom对象,默认为loading状态（点组成的圈）
                                    };
                                    dialog = new Dialog(config);
                                    myCodesInit();
                                } else {
                                    handLoading.destroy();
                                    config = {
                                        mode: 'confirm', // 对话框模式，默认normal标准|confirm浮动层|confirm确认对话框
                                        title:'提示',
                                        width: 300, //对话框宽度，可选项。normal默认值为600，confirm默认值为300，tips默认值为240
                                        height: 120, //对话框高度，可选项。normal默认值为400，confirm默认值为180，tips默认值为80
                                        cancelDisplay: false, //是否显示取消按钮（强制执行，可在confirm模式下生效），可选项。 默认true(显示)
                                        modal:true,
                                        content: '<div style="text-align:center;margin-top:50px">'+result.returnMessage+'</div>' ,// 对话框内容，可以是字符串、html片段、或dom对象,默认为loading状态（点组成的圈）
                                    };
                                    dialog = new Dialog(config);
                                }
                            });
                        }
                        return false;
                    }, 
                    cancel: function() {
                        return true;
                    },
                    cancelValue: '返回', //取消按钮的文本 默认是 ‘关闭’
                    okValue: '保存', //取消按钮的文本 默认是 ‘关闭’
                    cancelDisplay: true, //是否显示取消按钮 默认true显示|false不显示
                    width: 700, //对话框宽度，normal默认值为600，confirm默认值为300，tips默认值为240
                    height: 300, //对话框高度，normal默认值为400，confirm默认值为180，tips默认值为80
                    maxWidth: 240,//设置tips对话框的最大宽度,默认为240px。仅在tips对话框下生效，该项存在时，width属性将失效。
                    maxHeight: 'auto', //设置tips对话框的最大高度,默认为auto。仅在tips对话框下生效，该项存在时，height属性将失效。
                    padding:'0 16px 1em 10px',//(默认值: 继承 css 文件设置) 设置消息内容与消息容器的填充边距，即 style padding属性
                    align: 'bottom left',//设置对话框与其他元素的对齐方式。仅在show(elem)与showModal(elem)传入元素时生效。默认值: "bottom left"。可选："top left" "top" "top right" "right top" "right" "right bottom" "bottom right" "bottom" "bottom left" "left bottom" "left" "left top"。
                    skin: 'dialogSkin dialogSkin2',//设置对话框额外的className参数,多个className请使用空格隔开。
                    fixed: false, //是否开启固定定位 默认false不开启|true开启
                    quickClose: false, //点击空白处快速关闭 默认false不关闭|true关闭
                    modal: true ,//是否开启模态框状态  默认false不开启|true开启,confirm默认状态为true
                    backdropBackground:'#000',//设置遮罩颜色，默认 #000。
                    backdropOpacity:0.7, //设置遮罩透明度，默认 0.7，取值范围：0~1 。
                    beforeOpen: function() {          
                    }, //对话框打开之前执行。
                    escClose:true,//esc键快速关闭对话框，默认为true
                    zIndex:990   // 对话框的z-index值，默认是1024。
                };
                dialog = new Dialog(config);
                //是否变更单选
                var radiosConfig = {
                    el:$("#myCodeRadios"),//要绑定的容器
                    className:'radio',    //组件外围的className,默认横向|all-width纵向
                    disabled:0,     //是否禁用，1禁用|0不禁用
                    defaultValue:'0',   //默认选中项（对应单选框的value值）
                    items:[
                        {
                            className:'radio1',
                            label:'私有',
                            value:'0',
                            click:function(e,itemData){ 
                                radios.set("0");
                            }
                        },
                        {
                            className:'radio2',   //单选框的className，可不配置
                            label:'公开',    //必须配置
                            value:'1',      //必须配置
                            click:function(e,itemData){
                                radios.set("1");
                            }
                        }
                    ]
                };
                radios = new Radios(radiosConfig);
                myNewCodeValidator();
                radios.disabled();
                $("input[type='text']").on("keypress",function(e){
                    if(e.keyCode === 13){
                        e.preventDefault();
                    }
                });
            });
        }
        //新建代码库弹窗验证
        var myNewCodeValidator = function(){
            var config = {
                // el: $('.validatorForm'),
                el: $(".myNewCodeForm"),
                // submitBtn: $(".btnSave"), //触发验证的按钮，可不配置
                dialog: true, //是否弹出验证结果对话框
                pattern: { newCodeName: "^[a-zA-Z][a-zA-Z0-9\\-_]*$" },
                rules: {
                     name: 'required|newCodeName',
                },
                messages: {
                    name: {
                        required: "代码库名称不能为空！",
                        newCodeName:"英文字符、数字或“-”“_”且必须以英文字符开头"
                    },
                }    
            };  
            myNewCodeValidor = new Validator(config);
        }
        //关联工作项弹窗
        var relationReq = function (){
            require(['text!tpl/myProject/relationReq.tpl'], function(relationReqTpl){
                var config = {
                    mode: 'confirm', //对话框模式，默认normal标准|tips浮动层|confirm确认对话框
                    title: '代码关联工作项列表', //对话框标题，
                    content: Util.hdb.compile(relationReqTpl)(), //对话框内容，可以是字符串、html代码段,tpl对象。默认为loading状态（由点组成的圈。大段代码建议使用 tpl。
                    ok: function() {
                        return true;
                    }, 
                    cancel: function() {
                        return true;
                    },
                    cancelValue: '返回', //取消按钮的文本 默认是 ‘关闭’
                    okValue: '返回', //取消按钮的文本 默认是 ‘关闭’
                    cancelDisplay: false, //是否显示取消按钮 默认true显示|false不显示
                    width: 920, //对话框宽度，normal默认值为600，confirm默认值为300，tips默认值为240
                    height: parseInt($(".sn-tab.J_tab_render").height()*0.8), //对话框高度，normal默认值为400，confirm默认值为180，tips默认值为80
                    maxWidth: 240,//设置tips对话框的最大宽度,默认为240px。仅在tips对话框下生效，该项存在时，width属性将失效。
                    maxHeight: 'auto', //设置tips对话框的最大高度,默认为auto。仅在tips对话框下生效，该项存在时，height属性将失效。
                    padding:'0 16px 1em 10px',//(默认值: 继承 css 文件设置) 设置消息内容与消息容器的填充边距，即 style padding属性
                    align: 'bottom left',//设置对话框与其他元素的对齐方式。仅在show(elem)与showModal(elem)传入元素时生效。默认值: "bottom left"。可选："top left" "top" "top right" "right top" "right" "right bottom" "bottom right" "bottom" "bottom left" "left bottom" "left" "left top"。
                    skin: 'dialogSkin dialogSkin2',//设置对话框额外的className参数,多个className请使用空格隔开。
                    fixed: false, //是否开启固定定位 默认false不开启|true开启
                    quickClose: false, //点击空白处快速关闭 默认false不关闭|true关闭
                    modal: true ,//是否开启模态框状态  默认false不开启|true开启,confirm默认状态为true
                    backdropBackground:'#000',//设置遮罩颜色，默认 #000。
                    backdropOpacity:0.7, //设置遮罩透明度，默认 0.7，取值范围：0~1 。
                    beforeOpen: function() {          
                    }, //对话框打开之前执行。
                    escClose:true,//esc键快速关闭对话框，默认为true
                    zIndex:700   // 对话框的z-index值，默认是1024。
                };
                dialog = new Dialog(config);
                codesList();
                //给查询、重置绑定事件
                $('.myCodeBtnReset').on('click', codeBtnSearchRest);
                $('.myCodeBtnSearch').on('click', codeBtnSearch);
            });
        }
        //弹窗列表
        var codesList = function (){
            var config = {
                el: $('.codesContainer'),
                ajax:{    //所有jquery.ajax的配置项均可配置，这些配置将替换底层组件的配置；慎用
                    method:'GET'
                },
                field: {
                    boxType: 'checkbox',
                    key: 'id',
                    items: [
                    {
                        text: '项目名称',
                        title: 'projectName',
                        name: 'projectName',
                        className: 'w90',
                        // sorting:1,
                        width:200
                    },
                    {
                        text: '代码库',
                        title: 'codeName',
                        name: 'codeName',
                        className: 'w90',
                        sorting:1,
                        width:150
                    },
                    {
                        text: '提交信息',
                        title: 'message',
                        name: 'message',
                        className: 'w90',
                        // sorting:1,
                        width:200,
                        render: function (item, val) {
                            val = $('<span/>').text( val ).html(); 
                            val = val.replace(/\s/g, '&nbsp;');
                            return '<div class="text-overflow" style="line-height:36px;display:block;outline:none;text-indent:0px;max-width:none;">' + val + '</div>';
                        }
                    },
                    {
                        text: '提交时间',
                        name: 'commiteDate',
                        className: 'w90',
                        sorting:1,
                        width:150
                    },
                    {
                        text: '分支',
                        title: 'branchName',
                        name: 'branchName',
                        className: 'w90',
                        // sorting:1,
                        width:130
                    },
                    {
                        text: '关联的工作项',
                        name: 'requireList',
                        className: 'w90',
                        // sorting:1,
                        // width:130,
                        render: function (item, val) {
                            var str = "";
                            console.log(1,item,val)
                            if(item.requireList === null){
                                item.requireList = [];
                                return val;
                            }
                            for(var i=0;i<item.requireList.length;i++){
                                if(i === item.requireList.length-1 ){
                                    str += '<a href="javascript:;" data="'+item.requireList[i].id+'" class="text-overflow viewReq" style="line-height:36px;display:inline-block;outline:none;">' + item.requireList[i].requireTitle + '</a>';
                                }else {
                                    str += '<a href="javascript:;" data="'+item.requireList[i].id+'" class="text-overflow viewReq" style="line-height:36px;display:inline-block;outline:none;">' + item.requireList[i].requireTitle +"，"+ '</a>';
                                }
                            }
                            return str;
                        }
                    },
                    {
                        text: '用户名',
                        title: 'authorName',
                        name: 'authorName',
                        className: 'w90',
                        sorting:1,
                        width:130
                    }]
                },
                page: {
                    customPages: [2, 3, 5, 10, 15, 20, 30, 50], //可选择每页显示多少条
                    perPage: 5, //默认每页显示多少条记录
                    total: true
                },
                data: {
                    url: AjaxPath.cicd + "/codes?userId="+$cookie.get("userId")+"&tagName="+$cookie.get("projectTagName")
                    // url: AjaxPath.cicd + "/codes?userId="+3
                }
            };
            codeList = new List(config);
            codeList.search();
        }
        //导出按钮
        var codeBtnExp = function(e){
            var arr = codeList.getCheckedRows(),newArr=[],str;
            for(var i = 0; i < arr.length; i++ ){
                newArr.push(arr[i].commitId);
            }
            var data = Form.serialize($('.searchCodeForm'));
            if(e.currentTarget.id === "myCodebtnExpChecked" && arr.length<1){
                new Dialog({
                    mode: 'tips',
                    content: '<div style="text-align:center;margin-top:70px">请选择至少一条数据进行导出！</div>',
                    width: 300, //对话框宽度，可选项。normal默认值为600，confirm默认值为300，tips默认值为240
                    height: 150, //对话框高度，可选项。normal默认值为400，confirm默认值为180，tips默认值为80
                    cancelDisplay: false
                });
            } else if(e.currentTarget.id === "myCodebtnExp"){
                window.location.href = AjaxPath.cicd + "/codes/export?authorName=" + data.authorName +"&codeName="+data.codeName+"&message="+data.message+"&ids=";
            } else {
                window.location.href = AjaxPath.cicd + "/codes/export?authorName=" + data.authorName +"&codeName="+data.codeName+"&message="+data.message+"&ids="+newArr.toString();
            }

        }
        //查询、重置按钮
        var codeBtnSearch = function() {
            var data = Form.serialize($('.searchCodeForm'));
            data.limit = 10;
            data.page = 1;
            codeList.search(data);
            $(".codesContainer").find("a").removeClass("theSort");
        }
        var codeBtnSearchRest = function(){
            $("input[name='authorName']").val("");
            $("input[name='message']").val("");
            $("input[name='codeName']").val("");
            $(".codesContainer").find("a").removeClass("theSort");
            var data = {};
            codeList.search(data);
        }
        
        //新建分支弹窗
        var createNewBranch = function(_data, _dataSpaceId){
            var gitProjectId = _data;
            require(['text!tpl/myProject/newBranch.tpl'], function(newBranchTpl){
                var config = {
                    mode: 'confirm', //对话框模式，默认normal标准|tips浮动层|confirm确认对话框
                    title: '新建分支', //对话框标题，
                    content: Util.hdb.compile(newBranchTpl)(), //对话框内容，可以是字符串、html代码段,tpl对象。默认为loading状态（由点组成的圈。大段代码建议使用 tpl。
                    ok: function() {
                        
                        var data = Form.serialize($('.myNewBranchForm'));
                        data.userId = $cookie.get("userId");
                        data.gitProjectId = gitProjectId;
                        data.namespaceId = _dataSpaceId;
                        // data.userId = 3;
                        // data.gitProjectId = 41;
                        // console.log(data)
                        if(myNewBranchValidor.form()){
                            handLoading = new Loading(loadingConfig);
                            Util.ajax.postJson( AjaxPath.cicd + "/codes/createBranches", data, function(result, isok){
                                if(result.returnCode === "0000"){
                                    handLoading.destroy();
                                    dialog.remove();
                                    smDialog = new Dialog({
                                        mode: 'confirm', // 对话框模式，默认normal标准|confirm浮动层|confirm确认对话框
                                        title:'提示',
                                        width: 300, //对话框宽度，可选项。normal默认值为600，confirm默认值为300，tips默认值为240
                                        height: 120, //对话框高度，可选项。normal默认值为400，confirm默认值为180，tips默认值为80
                                        cancelDisplay: false, //是否显示取消按钮（强制执行，可在confirm模式下生效），可选项。 默认true(显示)
                                        modal:true,
                                        content: '<div style="text-align:center;margin-top:50px">'+result.returnMessage+'</div>' ,// 对话框内容，可以是字符串、html片段、或dom对象,默认为loading状态（点组成的圈）
                                    });
                                }else {
                                    handLoading.destroy();
                                    smDialog = new Dialog({
                                        mode: 'confirm', // 对话框模式，默认normal标准|confirm浮动层|confirm确认对话框
                                        title:'提示',
                                        width: 300, //对话框宽度，可选项。normal默认值为600，confirm默认值为300，tips默认值为240
                                        height: 120, //对话框高度，可选项。normal默认值为400，confirm默认值为180，tips默认值为80
                                        cancelDisplay: false, //是否显示取消按钮（强制执行，可在confirm模式下生效），可选项。 默认true(显示)
                                        modal:true,
                                        content: '<div style="text-align:center;margin-top:50px">'+result.returnMessage+'</div>' ,// 对话框内容，可以是字符串、html片段、或dom对象,默认为loading状态（点组成的圈）
                                    });
                                }
                             });
                        }
                        return false;
                    }, 
                    cancel: function() {
                        return true;
                    },
                    cancelValue: '返回', //取消按钮的文本 默认是 ‘关闭’
                    okValue: '保存', //取消按钮的文本 默认是 ‘关闭’
                    cancelDisplay: true, //是否显示取消按钮 默认true显示|false不显示
                    width: 700, //对话框宽度，normal默认值为600，confirm默认值为300，tips默认值为240
                    height: 400, //对话框高度，normal默认值为400，confirm默认值为180，tips默认值为80
                    maxWidth: 240,//设置tips对话框的最大宽度,默认为240px。仅在tips对话框下生效，该项存在时，width属性将失效。
                    padding:'0 16px 1em 10px',//(默认值: 继承 css 文件设置) 设置消息内容与消息容器的填充边距，即 style padding属性
                    skin: 'dialogSkin dialogSkin2',//设置对话框额外的className参数,多个className请使用空格隔开。
                    fixed: false, //是否开启固定定位 默认false不开启|true开启
                    quickClose: false, //点击空白处快速关闭 默认false不关闭|true关闭
                    beforeOpen: function() {          
                    }, //对话框打开之前执行。
                    zIndex:990   // 对话框的z-index值，默认是1024。
                };
                dialog = new Dialog(config);
                selectBranchDrop(gitProjectId);
                myNewBranchValidator();
                $("input[type='text']").on("keypress",function(e){
                    if(e.keyCode === 13){
                        e.preventDefault();
                    }
                });
            });
        }
        var selectBranchDrop = function(gitProjectId){
            Util.ajax.getJson( AjaxPath.cicd + "/codes/getBranches/"+gitProjectId+"/"+$cookie.get("userId"), {}, function(result, isok){
            // Util.ajax.getJson( AjaxPath.cicd + "/codes/getBranches/"+41+"/"+3, {}, function(result, isok){
                var addDropSelect = new Select({
                    el:$("#addFromWhere"),       //要绑定的容器
                    ajax:{    //所有jquery.ajax的配置项均可配置，这些配置将替换底层组件的配置，<span class="s">慎用</span>
                        method:'GET'
                    }, 
                    label:'<i style="color:red;padding:2px;">*</i>创建从:', //下拉框单元左侧label文本，可不配置
                    selectText:false,       //是否显示  ‘选择|清除’  模式
                    name:'refName',    //下拉框单元右侧下拉框名称
                    disabled:false,     //组件是否被禁用
                    topOption:"请选择", //设置最顶部option的text属性
                    value:'',//初始选中项设置 默认是按value，如果你想按id设置 也可以 value:[&quot;id&quot;,1],这样设置
                    textField:"name",   //设置下拉框内容，填写数据中对应的字段名
                    valueField:"name",//设置下拉框value，填写数据中对应的字段名
                    datas: result.beans,         //数据源
                    loadAtClick:false,// true--第一次点击时渲染|false或不配置--初始化时渲染
                    // url:'../../../data/select.json'  //数据源，不建议使用，后期将会移除
                });
                addDropSelect.setValue("master");
            });
        }
        //新建分支验证
        var myNewBranchValidator = function(){
            var config = {
                el: $(".myNewBranchForm"),
                // submitBtn: $(".btnSave"), //触发验证的按钮，可不配置
                dialog: true, //是否弹出验证结果对话框
                pattern: { newCodeName: "^[a-zA-Z][a-zA-Z0-9\\-_]*$" },
                rules: {
                     branchName: 'required|newCodeName',
                     refName:'required'
                },
                messages: {
                    branchName: {
                        required: "分支名称不能为空！",
                        newCodeName:"英文字符、数字或“-”“_”且必须以英文字符开头,不超过40个字符"
                    },
                    refName: {
                        required:"分支不能为空！"
                    }
                }    
            };  
            myNewBranchValidor = new Validator(config);
        }
        //fork按钮
        var forkCodeBtn = function(_data, _dataSpaceId){
            // data.tagName = "dbd";
            // data.userId = 7;
            /*Util.ajax.postJson(AjaxPath.cicd + '/codes/codeLibrary/fork/'+ _data, data, function(result, json){
                if(result.returnCode === "0000"){
                    smDialog = new Dialog({
                        mode: 'confirm', // 对话框模式，默认normal标准|confirm浮动层|confirm确认对话框
                        title:'提示',
                        width: 300, //对话框宽度，可选项。normal默认值为600，confirm默认值为300，tips默认值为240
                        height: 120, //对话框高度，可选项。normal默认值为400，confirm默认值为180，tips默认值为80
                        cancelDisplay: false, //是否显示取消按钮（强制执行，可在confirm模式下生效），可选项。 默认true(显示)
                        modal:true,
                        content: '<div style="text-align:center;margin-top:50px">'+result.returnMessage+'</div>' ,// 对话框内容，可以是字符串、html片段、或dom对象,默认为loading状态（点组成的圈）
                    });
                    // smDialog.on('onclose',function(){
                    //     myCodesInit();
                    // });
                }else {
                    smDialog = new Dialog({
                        mode: 'confirm', // 对话框模式，默认normal标准|confirm浮动层|confirm确认对话框
                        title:'提示',
                        width: 300, //对话框宽度，可选项。normal默认值为600，confirm默认值为300，tips默认值为240
                        height: 120, //对话框高度，可选项。normal默认值为400，confirm默认值为180，tips默认值为80
                        cancelDisplay: false, //是否显示取消按钮（强制执行，可在confirm模式下生效），可选项。 默认true(显示)
                        modal:true,
                        content: '<div style="text-align:center;margin-top:50px">'+result.returnMessage+'</div>' ,// 对话框内容，可以是字符串、html片段、或dom对象,默认为loading状态（点组成的圈）
                    });
                }
            });*/

            require(['text!tpl/myProject/forkCode.tpl'], function(forkTpl){
                var config = {
                    mode: 'confirm', //对话框模式，默认normal标准|tips浮动层|confirm确认对话框
                    title: 'Fork代码库', //对话框标题，
                    content: Util.hdb.compile(forkTpl)(), //对话框内容，可以是字符串、html代码段,tpl对象。默认为loading状态（由点组成的圈。大段代码建议使用 tpl。
                    ok: function() {
                        var data = Form.serialize($('.myCodeForkForm'));
                        data.tagName = $cookie.get("projectTagName");
                        data.userId = $cookie.get("userId");
                        data.namespaceId = _dataSpaceId;
                        if(myForkValidor.form()){
                            handLoading = new Loading(loadingConfig);
                            Util.ajax.postJson(AjaxPath.cicd + '/codes/codeLibrary/fork/'+ _data, data, function(result, json){
                                if(result.returnCode === "0000"){
                                    handLoading.destroy();
                                    dialog.remove();
                                    smDialog = new Dialog({
                                        mode: 'confirm', // 对话框模式，默认normal标准|confirm浮动层|confirm确认对话框
                                        title:'提示',
                                        width: 300, //对话框宽度，可选项。normal默认值为600，confirm默认值为300，tips默认值为240
                                        height: 120, //对话框高度，可选项。normal默认值为400，confirm默认值为180，tips默认值为80
                                        cancelDisplay: false, //是否显示取消按钮（强制执行，可在confirm模式下生效），可选项。 默认true(显示)
                                        modal:true,
                                        content: '<div style="text-align:center;margin-top:50px">'+result.returnMessage+'</div>' ,// 对话框内容，可以是字符串、html片段、或dom对象,默认为loading状态（点组成的圈）
                                    });
                                    smDialog.on('onclose', function(){
                                        myCodesInit();
                                    });
                                }else {
                                    handLoading.destroy();
                                    smDialog = new Dialog({
                                        mode: 'confirm', // 对话框模式，默认normal标准|confirm浮动层|confirm确认对话框
                                        title:'提示',
                                        width: 300, //对话框宽度，可选项。normal默认值为600，confirm默认值为300，tips默认值为240
                                        height: 120, //对话框高度，可选项。normal默认值为400，confirm默认值为180，tips默认值为80
                                        cancelDisplay: false, //是否显示取消按钮（强制执行，可在confirm模式下生效），可选项。 默认true(显示)
                                        modal:true,
                                        content: '<div style="text-align:center;margin-top:50px">'+result.returnMessage+'</div>' ,// 对话框内容，可以是字符串、html片段、或dom对象,默认为loading状态（点组成的圈）
                                    });
                                }
                             });
                        }
                        return false;
                    }, 
                    cancel: function() {
                        return true;
                    },
                    cancelValue: '返回', //取消按钮的文本 默认是 ‘关闭’
                    okValue: '保存', //取消按钮的文本 默认是 ‘关闭’
                    cancelDisplay: true, //是否显示取消按钮 默认true显示|false不显示
                    width: 700, //对话框宽度，normal默认值为600，confirm默认值为300，tips默认值为240
                    height: 120, //对话框高度，normal默认值为400，confirm默认值为180，tips默认值为80
                    maxWidth: 240,//设置tips对话框的最大宽度,默认为240px。仅在tips对话框下生效，该项存在时，width属性将失效。
                    padding:'0 16px 1em 10px',//(默认值: 继承 css 文件设置) 设置消息内容与消息容器的填充边距，即 style padding属性
                    skin: 'dialogSkin dialogSkin2',//设置对话框额外的className参数,多个className请使用空格隔开。
                    fixed: false, //是否开启固定定位 默认false不开启|true开启
                    quickClose: false, //点击空白处快速关闭 默认false不关闭|true关闭
                    beforeOpen: function() {          
                    }, //对话框打开之前执行。
                    zIndex:990   // 对话框的z-index值，默认是1024。
                };
                dialog = new Dialog(config);
                forkValidator();
                $("input[type='text']").on("keypress",function(e){
                    if(e.keyCode === 13){
                        e.preventDefault();
                    }
                });
            });

        }
        var forkValidator = function(){
            var config = {
                // el: $('.validatorForm'),
                el: $(".myCodeForkForm"),
                // submitBtn: $(".btnSave"), //触发验证的按钮，可不配置
                dialog: true, //是否弹出验证结果对话框
                pattern: { newCodeName: "^[a-zA-Z][a-zA-Z0-9\\-_]*$" },
                rules: {
                     codeLibraryName: 'required|newCodeName',
                },
                messages: {
                    codeLibraryName: {
                        required: "新代码库名称不能为空！",
                        newCodeName:"英文字符、数字或“-”“_”且必须以英文字符开头"
                    },
                }    
            };  
            myForkValidor = new Validator(config);
        }
        //DEL删除
        var delDialogBox = function(_data, _dataSpaceId){
            var config = {
                mode: 'confirm', //对话框模式，默认normal标准|tips浮动层|confirm确认对话框
                title: "删除提示", //对话框标题
                content: '<div style="text-align:center;margin-top:50px">确认删除此代码库？</div>' /* + content.substring(0,content.length-1)*/ , //对话框内容，可以是字符串、html片段、或dom对象,默认为loading状态（点组成的圈）
                ok: function() {
                    handLoading = new Loading(loadingConfig);
                    delMyCode(_data, _dataSpaceId);
                    return true;
                }, // 配置该项时才会出现ok按钮，回调函数可为空。如果指定 return false 则执行完方法后不关闭对话框。默认 return true
                okValue: '确定', //确定按钮的文本 默认是 ‘ok’
                cancel: function() {}, //取消按钮的回调函数,配置该项时才会出现关闭按钮，回调函数可为空。
                cancelValue: '取消', //取消按钮的文本 默认是 ‘关闭’
                cancelDisplay: true, //是否显示取消按钮 默认true显示|false不显示
                width: 300, //对话框宽度，normal默认值为600，confirm默认值为300，tips默认值为240
                height: 120, //对话框高度，normal默认值为400，confirm默认值为180，tips默认值为80
                padding: '0 16px 1em 10px', //(默认值: 继承 css 文件设置) 设置消息内容与消息容器的填充边距，即 style padding属性
                align: 'bottom right', //设置对话框与其他元素的对齐方式。仅在show(elem)与showModal(elem)传入元素时生效。默认值: "bottom left"。可选："top left" "top" "top right" "right top" "right" "right bottom" "bottom right" "bottom" "bottom left" "left bottom" "left" "left top"。
                skin: 'dialogSkin dialogSkin2', //设置对话框额外的className参数,多个className请使用空格隔开。
                fixed: true, //是否开启固定定位 默认false不开启|true开启
                quickClose: false, //点击空白处快速关闭 默认false不关闭|true关闭
                modal: true, //是否开启模态框状态  默认false不开启|true开启,confirm默认状态为true
                beforeOpen: function() {}, //对话框打开之前执行。
                zIndex: 990 // 对话框的z-index值，默认是1024。
            };
            var delDialog = new Dialog(config)
        }
        var delMyCode = function(_data, _dataSpaceId){
            var codeId = _data;
            Util.ajax.getJson(AjaxPath.cicd + '/codes/codeLibrary/delete/'+ codeId +"/"+ $cookie.get("userId")+"?namespaceId="+_dataSpaceId, {}, function(result, json){
            // Util.ajax.getJson(AjaxPath.cicd + '/codes/codeLibrary/delete/'+ codeId +"/"+ 7, {}, function(result, json){
                if(result.returnCode === "0000"){
                     handLoading.destroy();
                    smDialog = new Dialog({
                        mode: 'confirm', // 对话框模式，默认normal标准|confirm浮动层|confirm确认对话框
                        title:'提示',
                        width: 300, //对话框宽度，可选项。normal默认值为600，confirm默认值为300，tips默认值为240
                        height: 120, //对话框高度，可选项。normal默认值为400，confirm默认值为180，tips默认值为80
                        cancelDisplay: false, //是否显示取消按钮（强制执行，可在confirm模式下生效），可选项。 默认true(显示)
                        modal:true,
                        content: '<div style="text-align:center;margin-top:50px">'+result.returnMessage+'</div>' ,// 对话框内容，可以是字符串、html片段、或dom对象,默认为loading状态（点组成的圈）
                    });
                    smDialog.on('onclose',function(){
                        myCodesInit();
                    });
                }else {
                     handLoading.destroy();
                    smDialog = new Dialog({
                        mode: 'confirm', // 对话框模式，默认normal标准|confirm浮动层|confirm确认对话框
                        title:'提示',
                        width: 300, //对话框宽度，可选项。normal默认值为600，confirm默认值为300，tips默认值为240
                        height: 120, //对话框高度，可选项。normal默认值为400，confirm默认值为180，tips默认值为80
                        cancelDisplay: false, //是否显示取消按钮（强制执行，可在confirm模式下生效），可选项。 默认true(显示)
                        modal:true,
                        content: '<div style="text-align:center;margin-top:50px">'+result.returnMessage+'</div>' ,// 对话框内容，可以是字符串、html片段、或dom对象,默认为loading状态（点组成的圈）
                    });
                }
            });
        }
        //权限验证
        //页面元素级权限验证
        var getCodeAuthority = function($el){
            require(['js/btnAuthority'], function(oAuthority){
                new oAuthority($el);
            });
            Util.ajax.getJson(AjaxPath.auth + '/authority/button/'+ $cookie.get("userId") +'?datas=[{"mo":"21","btnId":""}]', {}, function(result, json){
                if(result.returnCode==="0000"){
                    if(result.beans[0].mo === 0){
                        codeAuthority = false;
                    }else {
                        codeAuthority = true;
                    }
                }
            });
        }

        var createDialogViewRequirement = function (){
                var item = {};
                item.id = $(this).attr("data");
                item.menuId = tplId;
                require(['js/requirement/viewRequirement'], function(viewRequirement) {
                    var resultViewRequirement = new viewRequirement({}, item, tab);
                    var config = {
                        mode: 'normal', //对话框模式，默认normal标准|tips浮动层|confirm确认对话框
                        title: "查看工作项", //对话框标题，
                        content: resultViewRequirement.content, //对话框内容，可以是字符串、html代码段,tpl对象。默认为loading状态（由点组成的圈。大段代码建议使用 tpl。
                        cancelValue: '关闭', //取消按钮的文本 默认是 ‘关闭’
                        okValue: '修改', //取消按钮的文本 默认是 ‘关闭’//取消按钮的文本 默认是 ‘关闭’
                        cancelDisplay: false, //是否显示取消按钮 默认true显示|false不显示
                        width: 1000, //对话框宽度，normal默认值为600，confirm默认值为300，tips默认值为240
                        height: 490, //对话框高度，normal默认值为400，confirm默认值为180，tips默认值为80
                        maxWidth: 240,//设置tips对话框的最大宽度,默认为240px。仅在tips对话框下生效，该项存在时，width属性将失效。
                        maxHeight: 'auto', //设置tips对话框的最大高度,默认为auto。仅在tips对话框下生效，该项存在时，height属性将失效。
                        padding:'0 16px 1em 10px',//(默认值: 继承 css 文件设置) 设置消息内容与消息容器的填充边距，即 style padding属性
                        align: 'bottom left',//设置对话框与其他元素的对齐方式。仅在show(elem)与showModal(elem)传入元素时生效。默认值: "bottom left"。可选："top left" "top" "top right" "right top" "right" "right bottom" "bottom right" "bottom" "bottom left" "left bottom" "left" "left top"。
                        skin: 'dialogSkin dialogSkin2',//设置对话框额外的className参数,多个className请使用空格隔开。
                        fixed: false, //是否开启固定定位 默认false不开启|true开启
                        quickClose: false, //点击空白处快速关闭 默认false不关闭|true关闭
                        modal: true ,//是否开启模态框状态  默认false不开启|true开启,confirm默认状态为true
                        backdropBackground:'#000',//设置遮罩颜色，默认 #000。
                        backdropOpacity:0.7, //设置遮罩透明度，默认 0.7，取值范围：0~1 。
                        beforeOpen: function() {
                            console.log('对话框打开时执行。');

                        }, //对话框打开之前执行。
                        escClose:true,//esc键快速关闭对话框，默认为true
                        zIndex:999   // 对话框的z-index值，默认是1024。
                    };
                    var dialog= new Dialog(config);
                });
        }
        
        
 
        

        return initialize;
    });